<?php
class PostsController extends AppController {

	var $name = 'Posts';
    var $helpers = array('Access');
    
    function sesion_activa(){
    	$usuario_activo=$this->Access->getMy('username');
    	//Verificacion de sesion del sistema
    	if(!$usuario_activo){
    		$this->Session->setFlash(__('Por favor inicie sesion', true));
    		$this->redirect(array('controller'=>'users','action' => 'login'));
    	}
    }
    
	function index() {
	    $this->sesion_activa();
		$this->Post->recursive = 0;
		$this->set('posts', $this->paginate());
	}

	function view($id = null) {
	    $this->sesion_activa();
		if (!$id) {
			$this->Session->setFlash(__('Post Invalido', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('post', $this->Post->read(null, $id));
	}

	function add() {
	    $this->sesion_activa();
		if (!empty($this->data)) {
			$this->Post->create();
			if ($this->Post->save($this->data)) {
				$this->Session->setFlash(__('Documento Guardado', true));
				$this->redirect(array('controller'=>'comentarios','action' => 'posts_comentarios'));
			} else {
				$this->Session->setFlash(__('El Documento no se guardo.', true));
			}
		}
	}

	function edit($id = null) {
	    $this->sesion_activa();
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Documento Invalido', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Post->save($this->data)) {
				$this->Session->setFlash(__('Documento Actualizado', true));
				$this->redirect(array('controller'=>'comentarios','action' => 'posts_comentarios'));
			} else {
				$this->Session->setFlash(__('El Documento no se Actualizo.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Post->read(null, $id);
		}

		$this->set(compact('id'));
	}

	function delete($id = null) {
	    $this->sesion_activa();
		if (!$id) {
			$this->Session->setFlash(__('Documento Invalido', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Post->delete($id)) {
			$this->Session->setFlash(__('Documento Eliminado', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('El Documento no se elimino', true));
		$this->redirect(array('action' => 'index'));
	}
	
    function anexos_post($id_post = null){
        $this->sesion_activa();
         if (isset ($_FILES["archivos"])){
                $dominio = substr($_POST["dominio"],0,strlen($_POST["dominio"])-9);
                $uploads_dir=$dominio.'anexos_post/';                
                $post = $this->Post->read(null, $_POST['id_post']);
                $anexos = ($post['Post']['adjunto']!="")?split(",", $post['Post']['adjunto']):array();
                $indice_foto = 1;
                if(count($anexos)>0){
                   $indice_foto = count($anexos);
                   $post['Post']['adjunto'] = $post['Post']['adjunto'].",";
                }
                //obtenemos la cantidad de elementos que tiene el arreglo archivos
                $tot = count($_FILES["archivos"]["name"]);                
                $archivo = "";
                for ($i = 0; $i < $tot; $i++){                        
                         $tmp_name = $_FILES["archivos"]["tmp_name"][$i];
                         $ext="";
                         if($_FILES["archivos"]["type"][$i]=="image/jpeg")
                            $ext = ".jpg";
                         else if($_FILES["archivos"]["type"][$i]=="image/png")
                            $ext = ".png";
                         else if($_FILES["archivos"]["type"][$i]=="image/gif")
                            $ext = ".gif";
                         else if($_FILES["archivos"]["type"][$i]=="application/pdf"){
                         	$ext = ".pdf";
                         }                         
                         else if($_FILES["archivos"]["type"][$i]=="application/msword"){
                         	$ext = ".doc";
                         }                        
                         else if($_FILES["archivos"]["type"][$i]=="application/msxls"){
	                         	$ext = ".xls";
	                     }
                         else if($_FILES["archivos"]["type"][$i]=="application/mspowerpoint"){
	                         	$ext = ".ppt";
	                     }
                         else if($_FILES["archivos"]["type"][$i]=="video/avi"){
	                           	$ext = ".avi";
	                     }

                         $name = $_POST['id_post']."_".$indice_foto.$ext;                          
                         if(move_uploaded_file($tmp_name, $uploads_dir.$name)){
                                $archivo = $archivo.$name.",";                              
                                $indice_foto++;
                         }                                                  
                }
                $archivo = substr($archivo,0,strlen($archivo)-1);         
               		$this->Post->create();
                    $this->Post->id= $_POST['id_post'];                

                    $this->Post->saveField('adjunto',$post['Post']['adjunto'].$archivo);
                                                 
                	$this->Session->setFlash(__('Anexos guardados', true));
                    $this->redirect(array('controller'=>'comentarios','action' => 'posts_comentarios', $_POST['id_post']));
                    
        }
        $nombre_post =$this->Post->find('first',array('conditions'=>array('Post.id'=>$id_post)));
      $this->set(compact('id_post','nombre_post'));
   
     }
     
    function ver_anexos_post($id_post = null){
        $this->sesion_activa();	    
	//contador de visitas		
   // Busco el registro correspondiente a la id recibida
     $register = $this->Post->find("first", array("conditions" => array("Post.id" => $id_post)));
     // Recupero la id
     $this->Post->id = $id_post;
     // Sumo uno a las visitas19
     $visitas = $register['Post']['visitas'] + 1;     
     // Guardo los datos
     $this->Post->saveField('visitas', $visitas) ; 
     $total_post = $this->Post->field('SUM(visitas)');
     $total = $this->Post->field('SUM(visitas)',$visitas);
     // Muestra los documentos adjuntos
     $lista = $this->Post->find('first',array('conditions'=>array('Post.id'=>$id_post)));
	 $anexos = split(",", $lista['Post']['adjunto']);	
	 	
     $nombre_post =$this->Post->find('first',array('conditions'=>array('Post.id'=>$id_post)));   
	 $this->set(compact('anexos','total','total_post','nombre_post'));
	}	

}